//
//  protocal.h
//  myvpn
//
//  Created by Zhuobin He on 12-12-31.
//  Copyright (c) 2012年 Zhuobin He. All rights reserved.
//

#ifndef myvpn_protocal_h
#define myvpn_protocal_h

#include "SysLib.h"

#include "Common.h"


struct _DecodedPacket
{
    int flag;
    int pack_id;
    int size;
    char *data;
};
typedef struct _DecodedPacket DecodedPacket;
typedef DecodedPacket * PDecodedPacket;


/**
 * 解密read_buffer中的数据，并存放到tun_buffer中
 */
int decode_data(char *input_data, int input_size, PDecodedPacket output);

/**
 * 加密tun_buffer中长度为size的数据，并存放到write_buffer中
 */
int encode_data(PDecodedPacket input, char *output_data, int *output_size);

#endif
